package com.example.apple.fragment;

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

/**
 * 一般建议是V4包下使用对应的fragmentActivity(1.6--3.0的系统),app包下的fragment向上兼容,activity
 *
 * ~~~动态使用（在java代码中）~~~
 * 1:获得FragmentManager（管理Fragment）对象
 * 2：获得FragmentTranscation(对Fragment添加 移除 替换 以及执行其他动作)对象
 * 3:调用他的add(）方法或者replace方法加载Fragment对象
 * 4:调用commit方法来提交事物
 *
 * */
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    /**
     * 动态加载时声明两个按钮，aBtn和bBtn，若使用静态加载时注释掉这2个变量
     * */
private Button aBtn,bBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /**
         * 动态加载-通过id找到控件
         * */
        aBtn=(Button)findViewById(R.id.btn1);
        bBtn= (Button) findViewById(R.id.btn2);
        /**
         * 对按钮监听使用Activity implements View.OnClickListener
         * */
        aBtn.setOnClickListener(this);
        bBtn.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        /**
         * 1.获得一个FragmentManger
         * 2.调用beginTransaction()获得事物对象fragmentTransaction;
         * 3.调用commit()来保存事物
         * */
   FragmentManager supportFragmentManager=getSupportFragmentManager();
        FragmentTransaction fragmentTransaction=supportFragmentManager.beginTransaction();
        switch (view.getId()){
            case R.id.btn1:
                fragmentTransaction.replace(R.id.fragment_content,new AFragment());
                break;
            case R.id.btn2:
                fragmentTransaction.replace(R.id.fragment_content,new BFragment());
                break;

        }
        fragmentTransaction.commit();

    }
}
